Voice Over Internet Protocol (VOIP) networks have been used to reduce the costs of long-distance telephone calling for several years. A call typically starts at an originating location within a traditional public circuit-switched telephone network (PSTN), interfaces with a VOIP network, then travels through the VOIP network, interfaces with a PSTN on the destination side of the VOIP network, and proceeds through the destination-side PSTN to a termination point to complete the call. Cost reduction is generally achieved by having the VOIP network service as large a part of the distance between the origination point and termination point of the call as possible.
Some calls can be fully connected via the VOIP network, without the PSTN, but for purposes of explanation of the present invention, we assume the VOIP network interfaces to a PSTN, although the invention is not limited thereto.
A call is typically routed through a sequence of intermediary stations within a VOIP network before being transferred from the VOIP network to the destination-side PSTN. These intermediary stations are referred to herein as gateways, call stations, and/or soft switches. In existing VOIP networks, each call station selects from among a number of possible routing options by searching through a large volume of stored routing data in a routing table to identify routing options table corresponding to the pertinent parameters of the telephone call to be routed. In this manner, the path of calls through a sequence of stations may be adjusted based on various factors prevailing at the time of the call. Routing tables that include ordered lists of routing options are typically generated periodically (e.g.; once a week, once a day, etc.) and forwarded to the respective call stations within the VOIP network.
In existing systems, call stations obtain routing options by selecting a routing table based on the characteristics of the call. Factors that may be used to select routing options from the table may include the call prefix, the location of the origin of the call, the carrier, and features sought to be optimized such as quality of service and/or price per minute. The relevant factors are used to select routing options from a routing table stored at the call station.
However, as telecommunication systems have become larger, more complex, and as more options for call handling have developed, the conventional systems have become problematic. First, there are so many different possible routing options—which depend upon so many parameters—that the computational requirements to generate the routing tables are enormous. Second, the storage required to store all the information needed to route any call to anywhere, from anywhere, is huge.
The increasing amount of space and increased computational requirements needed for routing tables is imposing an ever increasing computational and data storage burden on call stations forming part of VOIP networks, which is both expensive and difficult to implement. Accordingly, there is a need in the art for a system and method for routing telephone calls that is less data-storage-intensive, more cost effective, and more convenient than existing systems and methods.